APISIX的唸法是: API Six,也就是API 6。但為什麼叫做這個名字,我並不太清楚,根據Gemini AI的回覆: 這是因爲在捐獻到Apache基金會之前,這是內部的第6個版本。
我認爲這個這個說法是相對可信的,APISIX目前主要貢獻者之一,同時也是最初捐獻給Apache基金會的創業公司「支流科技」,其英文就是使用API7.ai或APISeven。
APISIX的部落格文章-〈从云原生到 AI 原生:Apache APISIX 的 AI 网关架构设计与智能实践〉裡寫到:
2015 年,支流科技创立了 APISIX 这个开源项目,在 2019 年把 APISIX 捐给了 Apache Software Foundation。如今,六年时间过去了,它取得的成就非常显著。最开始,我们的目标很简单,就是希望能做出一个能够被别人使用的 API 网关。但随着时间的推移,越来越多不同领域的开发者、企业用户开始使用 APISIX,比如吉利汽车、荣耀手机等,当他们借助 APISIX 为自己提供服务时,就像自己孩子用另一种方式在反哺父母,自豪且令人鼓舞。
在api7.ai的部落格文章-〈从 0 到 1:Apache APISIX 的 Apache 之路〉也有:
Apache APISIX 是一个很年轻的项目,2019 年 6 月份开源,7 月份加入到 CNCF 全景图,10 月份进入 Apache 孵化器
就與其名稱API-Six有關的,APISIX是一個高性能API網關(API Gateway)。是基於Nginx、Lua和OpenResty的網關。
以 雲原生(Cloud-Native) 設計,做到動態配置、支援設定中心的多節點配置變更,並可作爲Kubernetes(K8S)的Ingress Controller,且已支援K8S較新的Gateway API。
最近隨者生成式AI的熱潮與普及化,目標上也可以做為AI Agent的AI網關,因此在首頁可以看到「API Gateway & AI Gateway for APIs and AI Agents(API 网关与 AI 网关,服务 API 与 AI 代理)」
關於配合AI的應用方式,可以進一步參考:
而目前,APISIX已經是在Apache基金會的頂級項目(Top-Level Project),並且採開源Apache授權方式。
同前所述,APISIX是由支流科技捐獻到到Apache基金會。支流科技同時提供商業企業支援方案:像是API7 Cloud、API7 EE(企業版)。API7 EE是基於Apache APISIX構建,包含APISIX所有功能特性。[^1]
[^1]: API7 EE 和 Apache APISIX 的对比
其實這也就像是Kong和Tyk同樣有開源與商業版本。我自己對於這樣做法並不反感,但是有時做為技術學習,過往遇過幾次困難。像是開源版本的授權方式不明確或不好找,或是剛好企業級功能正式我想要了解的內容,但我又是只是個人想學習使用。
相對來說,APISIX就是在Apache基金會下,授權使用開放性很高的Apache條款。並且從這篇裡提到的文獻連接來看,其中文資源也是豐富的。和近年AI發展,也持續在更新,也見得社群的活躍。
开源社区的治理模式
我们知道很多开源项目有一些是在基金会下面,有一些则不是。在基金会下面的项目,比如 Linux 基金会、Apache 基金会,他们的治理模式叫做“社区共识”,需要先在社区内讨论,在达成一个共识后进行投票,而非直接投票。如果直接投票,没有前面的讨论和共识,那这个投票是没有意义的。这个效率可能会很慢,但只有整个社区达成共识,后面才没有异议。
第二种是商业公司共识,只要商业公司的人达成共识,那么这个 PR 或者 feature 就可以被合并,而社区的人说话是没有用的,因为它是被商业公司控制的一个项目,而如果你给商业公司贡献代码,能否被合并决定权在商业公司手里。这对于个人开发者可能无所谓,但是对于参与项目的企业则是有所谓的,通常企业会有私有版本,企业想把自己的 feature 贡献回社区,但商业公司可能因为这个东西和自己的商业版本冲突,就会拒绝掉。
第三种是仁慈的独裁者,最典型的就是 Python,个人决定着开源项目的发展。
上述是开源社区的三种模式,如果是企业选择项目,一般的我们会推荐 Apache、Linux 基金会的项目,它首先在法律上是没有隐患的,其次它是一个社区共识,我们可以通过向社区贡献这种方式获得更多的话语权,这样就形成了一个良性的循环。
---- 从 0 到 1:Apache APISIX 的 Apache 之路。2019年。api7.ai